package com.xinyi.traditionmvvm.app;

import com.xinyi.traditionmvvm.consts.NetURL;

import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;

/**
 * @author 杨耿雷
 * @date 2024/9/26 10:17
 * @description Retrofit 客户端单例类，用于创建 Retrofit 实例。
 */
public class RetrofitClient {

    private static Retrofit retrofit;

    /**
     * 获取 Retrofit 实例。
     *
     * @return Retrofit 实例
     */
    public static Retrofit getRetrofitInstance() {
        if (retrofit == null) {
            retrofit = new Retrofit.Builder()
                    .baseUrl(NetURL.BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create()) // 使用 Gson 解析 JSON
                    .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) // 添加 RxJava 适配器
                    .build();
        }
        return retrofit;
    }
}
